home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1989 July
/
64er_Magazin_89-07_1989_Markt__Technik_de_Side_A.d64
/
teil 2.listing 4
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
2KB
|
73 lines
5 .li1,4,0
10 .ba 49152 ;startadresse
20 .gl irqvec = $0314 ;irq-vektor
30 .gl irqalt = $ea31 ;alte irq-routine
40 .gl vic = $d000 ;basisadresse des vic
50 .gl irqmask= vic+26 ;irqmaskenregister
60 .gl irqflag= vic+25 ;irq-requestregister
70 .gl raster = vic+18 ;rasterzeilenregister
80 .gl border = vic+32 ;rahmenfarbe-register
90 .gl oben = 100 ;obere rasterzeile
100 .gl unten = 200 ;untere rasterzeile
110 .gl hibit = vic+17 ;bit 8 der rasterzeilennummer
120 .gl ciatime= $dc0e ;timer a steuerregister
130 ;
200 init sei;irq sperren
210 lda#oben;irq fuer rasterzeile 100
220 staraster
230 ldahibit;bit 8 loeschen
240 and#127
250 stahibit
260 lda#129;irq maskieren
270 stairqmask;raster-irq
280 lda#<(irqneu);irq-vektor auf neue
290 ldx#>(irqneu);irq-routine stellen
300 stairqvec
310 stxirqvec+1
320 ldaciatime;timer a stoppen
330 and#254
340 staciatime
350 cli;irq wieder zulassen
360 rts;und zurueck...
370 ;
380 deinit sei;irq sperren
390 lda#0;irq-maskenregister
400 stairqmask;loeschen
410 ldaciatime;timer a wieder starten
420 ora#1
430 staciatime
440 lda#<(irqalt);irq-vektor wieder auf
450 ldx#>(irqalt);alte irq-routine stellen
460 stairqvec
470 stxirqvec+1
480 cli;irq wieder zulassen
490 lda#14;normale rahmenfarbe
500 staborder;einschalten
510 rts;und zurueck...
520 ;
530 irqneu ldairqflag;vic-irq-flags lesen
540 stairqflag;und wieder schreiben
550 ;
560 vicirq ldaraster;rasterzeilenregister lesen
570 cmp#unten;groesser/gleich 200 ?
580 bcsoldcolor;ja, dann alte ramenfarbe
590 ;
600 newcolor lda#6;sonst neue rahmenfarbe
610 staborder
620 lda#unten;naechster irq bei zeile 200
630 staraster
640 ;
650 irqreturn pla;register zurueckholen
660 tay
670 pla
680 tax
690 pla
700 rti;und mit rti zurueck...
710 ;
720 oldcolor lda#14;alte ramenfarbe
730 staborder
740 lda#oben;naechster irq bei zeile 100
750 staraster
760 jmpirqalt;und zur alten irq-routine...
60000 .en